package com.xinya.wanandroidclient.utils

import android.text.TextUtils
import com.blankj.utilcode.util.SPUtils
import com.xinya.wanandroidclient.Constants
import com.xinya.wanandroidclient.bean.LoginBean
import com.xinya.wanandroidclient.bean.UserInfoBean

/**
 *
 * @ClassName:      UserSPUtils$
 * @Description:    java类作用描述
 * @Author:         xinya
 * @CreateDate:     2021/3/10$ 18:56$
 * @UpdateRemark:   更新内容
 * @Version:        1.0
 */
class UserSPUtils {
    companion object {
        val INST = UserSPUtils()
    }

    private val spUtils by lazy {
        SPUtils.getInstance()
    }

    fun isLogin() = !TextUtils.isEmpty(spUtils.getString(Constants.SP_KEY_USER_NAME, ""))

    fun saveUser(it: LoginBean) {
        spUtils.put(Constants.SP_KEY_USER_NAME, it.username)
        spUtils.put(Constants.SP_KEY_USER_ID, it.id)
        spUtils.put(Constants.SP_KEY_USER_COIN, it.coinCount)
    }

    fun saveUserInfo(userInfo: UserInfoBean) {
        spUtils.put(Constants.SP_KEY_USER_COIN, userInfo.coinCount)
        spUtils.put(Constants.SP_KEY_USER_RANK, userInfo.rank)
        spUtils.put(Constants.SP_KEY_USER_NAME, userInfo.username)
        spUtils.put(Constants.SP_KEY_USER_ID, userInfo.userId)
    }

    fun getUserInfo() = UserInfoBean(
        spUtils.getInt(Constants.SP_KEY_USER_COIN, 0),
        spUtils.getInt(Constants.SP_KEY_USER_RANK, 0),
        spUtils.getInt(Constants.SP_KEY_USER_ID, 0),
        spUtils.getString(Constants.SP_KEY_USER_NAME, "")
    )

    fun clearUserInfo() {
        spUtils.put(Constants.SP_KEY_USER_COIN, 0)
        spUtils.put(Constants.SP_KEY_USER_RANK, 0)
        spUtils.put(Constants.SP_KEY_USER_NAME, "")
        spUtils.put(Constants.SP_KEY_USER_ID, 0)
    }
}